package com.manli.wechat.utils;

import com.alibaba.fastjson.JSONObject;
import com.manli.common.utils.HttpUtil;

/**
 * 微信自定义菜单
 */
public class WeChatMenu extends WeChat{

    public WeChatMenu(String appid, String appsecret) {
        super(appid, appsecret);
    }

    /**
     * 自定义菜单
     * 创建接口
     * @return
     */
    public JSONObject createMenu(String acceccToken,String menuJson) throws Exception{
        isInited();
        return JSONObject.parseObject(HttpUtil.httpsPost(WeChatUrl.MENU_CREATE_URL + acceccToken,menuJson,HttpUtil.JSON));
    }

    /**
     * 自定义菜单
     * 查询接口
     * @return
     */
    public JSONObject queryMenu(String acceccToken)throws Exception{
        isInited();
        return JSONObject.parseObject(HttpUtil.httpsPost(WeChatUrl.MENU_QUERY_URL + acceccToken,"",HttpUtil.JSON));
    }

    /**
     * 自定义菜单
     * 删除接口
     * @return
     */
    public JSONObject deleteMenu(String acceccToken)throws Exception{
        isInited();
        return JSONObject.parseObject(HttpUtil.httpsGet(WeChatUrl.MENU_DEL_URL + acceccToken));
    }

    /**
     * 自定义菜单
     * 事件推送
     * @return
     */
    public JSONObject eventPush(){
        isInited();
        return null;
    }

    /**
     * 自定义菜单
     * 创建个性化菜单接口
     * @return
     */
    public JSONObject createPersonMenu(String acceccToken,String menuJson)throws Exception{
        isInited();
        return JSONObject.parseObject(HttpUtil.httpsPost(WeChatUrl.PERSON_MENU_CREATE_URL + acceccToken,menuJson,HttpUtil.JSON));
    }

    /**
     * 自定义菜单
     * 删除个性化菜单接口
     * @return
     */
    public JSONObject delPersonMenu(String acceccToken,String menuJson)throws Exception{
        isInited();
        return JSONObject.parseObject(HttpUtil.httpsPost(WeChatUrl.PERSON_MENU_DEL_URL + acceccToken,menuJson,HttpUtil.JSON));
    }

    /**
     * 自定义菜单
     * 测试个性化菜单匹配结果
     * @return
     */
    public JSONObject testPersonMenu(String acceccToken,String menuJson)throws Exception{
        isInited();
        return JSONObject.parseObject(HttpUtil.httpsPost(WeChatUrl.PERSON_MENU_TEST_MATCH_URL + acceccToken,menuJson,HttpUtil.JSON));
    }

}
